home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / TEEPOEDI.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  5.9 KB  |  205 lines

  1. {**********************************************}
  2. {   TSeriesPointer Component Editor Dialog     }
  3. {   Copyright (c) 1996-98 by David Berneda     }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit TeePoEdi;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Chart, Series
  13.   {$IFDEF D1}
  14.   , TeeUpDow, Spin
  15.   {$ELSE}
  16.   , ComCtrls
  17.   {$ENDIF};
  18.  
  19. type
  20.   TSeriesPointerEditor = class(TForm)
  21.     GPPoint: TGroupBox;
  22.     CBDrawPoint: TCheckBox;
  23.     CB3dPoint: TCheckBox;
  24.     CBInflate: TCheckBox;
  25.     Label1: TLabel;
  26.     Label2: TLabel;
  27.     SEPointHorizSize: TEdit;
  28.     SEPointVertSize: TEdit;
  29.     CBPointStyle: TComboBox;
  30.     Label3: TLabel;
  31.     BPoinPenCol: TBitBtn;
  32.     UDPointHorizSize: TUpDown;
  33.     UDPointVertSize: TUpDown;
  34.     CBPoDark: TCheckBox;
  35.     GroupBox1: TGroupBox;
  36.     BPointFillColor: TBitBtn;
  37.     CBDefBrushColor: TCheckBox;
  38.     procedure FormShow(Sender: TObject);
  39.     procedure CBDrawPointClick(Sender: TObject);
  40.     procedure CB3dPointClick(Sender: TObject);
  41.     procedure SEPointHorizSizeChange(Sender: TObject);
  42.     procedure BPointFillColorClick(Sender: TObject);
  43.     procedure CBPointStyleChange(Sender: TObject);
  44.     procedure BPoinPenColClick(Sender: TObject);
  45.     procedure FormCreate(Sender: TObject);
  46.     procedure SEPointVertSizeChange(Sender: TObject);
  47.     procedure CBInflateClick(Sender: TObject);
  48.     procedure CBPoDarkClick(Sender: TObject);
  49.     procedure CBDefBrushColorClick(Sender: TObject);
  50.   private
  51.     { Private declarations }
  52.     CreatingForm:Boolean;
  53.     procedure SetPointerVisible(Value:Boolean);
  54.     Procedure Enable3DPoint;
  55.   public
  56.     { Public declarations }
  57.     ThePointer:TSeriesPointer;
  58.   end;
  59.  
  60. { Adds a new sub-tab Form into the Series tab at EditChart dialog }
  61. Procedure TeeInsertPointerForm(AParent:TControl; APointer:TSeriesPointer);
  62.  
  63. implementation
  64.  
  65. {$R *.DFM}
  66. uses PenDlg,Teengine,TeeConst
  67.      {$IFDEF D1}
  68.      ,IEdit16
  69.      {$ELSE}
  70.      ,IEdiSeri
  71.      {$ENDIF};
  72.  
  73. Procedure TeeInsertPointerForm(AParent:TControl; APointer:TSeriesPointer);
  74.  
  75. begin
  76.   {$IFDEF D1}
  77.   (GetOwnerForm(AParent) as TChartEditForm).InsertSeriesForm( TSeriesPointerEditor,
  78.                                                       1,TeeMsg_GalleryPoint,
  79.                                                       APointer);
  80.   {$ELSE}
  81.   (AParent.Owner as TFormTeeSeries).InsertSeriesForm( TSeriesPointerEditor,
  82.                                                       1,TeeMsg_GalleryPoint,
  83.                                                       APointer);
  84.   {$ENDIF}
  85. end;
  86.  
  87. Procedure TSeriesPointerEditor.Enable3DPoint;
  88. begin
  89.   With ThePointer do
  90.   CB3DPoint.Enabled:= (ParentSeries.ParentChart.View3D) and
  91.                       ( (Style=psRectangle) or
  92.                         (Style=psTriangle) or
  93.                         (Style=psDownTriangle) );
  94.   CBPoDark.Enabled:=CB3DPoint.Enabled;
  95. end;
  96.  
  97. procedure TSeriesPointerEditor.FormShow(Sender: TObject);
  98. begin
  99.   Screen.Cursor:=crDefault;
  100.   if TPersistent(Tag) is TSeriesPointer then
  101.      ThePointer:=TSeriesPointer(Tag)
  102.   else
  103.      ThePointer:=TCustomSeries(Tag).Pointer;
  104.   With ThePointer do
  105.   Begin
  106.     SetPointerVisible(Visible);
  107.     CBDrawPoint.Checked:=Visible;
  108.     CB3DPoint.Checked:=Draw3D;
  109.     Enable3DPoint;
  110.     UDPointHorizSize.Position:=HorizSize;
  111.     UDPointVertSize.Position :=VertSize;
  112.     CBPointStyle.ItemIndex:=Ord(Style);
  113.     CBInflate.Checked:=InflateMargins;
  114.     CBPoDark.Checked:=Dark3D;
  115.     CBDefBrushColor.Checked:=Brush.Color=clTeeColor;
  116.  
  117.     if not AllowChangeSize then
  118.        ShowControls(False,[ Label1,Label2,SEPointHorizSize,
  119.                             SEPointVertSize,UDPointHorizSize,UDPointVertSize]);
  120.   end;
  121.   CreatingForm:=False;
  122. end;
  123.  
  124. procedure TSeriesPointerEditor.SetPointerVisible(Value:Boolean);
  125. begin
  126.   ThePointer.Visible:=Value;
  127.   if Value then Enable3DPoint
  128.   else
  129.   begin
  130.     CB3DPoint.Enabled:=False;
  131.     CBPoDark.Enabled:=False;
  132.   end;
  133.   EnableControls(Value,[ CBInflate,SEPointHorizSize,SEPointVertSize,
  134.                          UDPointHorizSize,UDPointVertSize,BPointFillColor,
  135.                          CBPointStyle,BPoinPenCol,CBDefBrushColor] );
  136. end;
  137.  
  138. procedure TSeriesPointerEditor.CBDrawPointClick(Sender: TObject);
  139. begin
  140.   SetPointerVisible(CBDrawPoint.Checked);
  141. end;
  142.  
  143. procedure TSeriesPointerEditor.CB3dPointClick(Sender: TObject);
  144. begin
  145.   ThePointer.Draw3D:=CB3DPoint.Checked;
  146. end;
  147.  
  148. procedure TSeriesPointerEditor.SEPointHorizSizeChange(Sender: TObject);
  149. begin
  150.   if not CreatingForm then ThePointer.HorizSize:=UDPointHorizSize.Position;
  151. end;
  152.  
  153. procedure TSeriesPointerEditor.BPointFillColorClick(Sender: TObject);
  154. var tmp:TColor;
  155. begin
  156.   with ThePointer.Brush do
  157.   begin
  158.     if Color=clTeeColor then tmp:=ThePointer.ParentSeries.SeriesColor
  159.                         else tmp:=Color;
  160.     Color:=EditColor(Self,tmp);
  161.     CBDefBrushColor.Checked:=Color=clTeeColor;
  162.   end;
  163. end;
  164.  
  165. procedure TSeriesPointerEditor.CBPointStyleChange(Sender: TObject);
  166. begin
  167.   ThePointer.Style:=TSeriesPointerStyle(CBPointStyle.ItemIndex);
  168.   Enable3DPoint;
  169. end;
  170.  
  171. procedure TSeriesPointerEditor.BPoinPenColClick(Sender: TObject);
  172. begin
  173.   EditChartPen(Self,ThePointer.Pen);
  174. end;
  175.  
  176. procedure TSeriesPointerEditor.FormCreate(Sender: TObject);
  177. begin
  178.   CreatingForm:=True;
  179.   ThePointer:=nil;
  180. end;
  181.  
  182. procedure TSeriesPointerEditor.SEPointVertSizeChange(Sender: TObject);
  183. begin
  184.   if not CreatingForm then ThePointer.VertSize:=UDPointVertSize.Position;
  185. end;
  186.  
  187. procedure TSeriesPointerEditor.CBInflateClick(Sender: TObject);
  188. begin
  189.   ThePointer.InflateMargins:=CBInflate.Checked;
  190. end;
  191.  
  192. procedure TSeriesPointerEditor.CBPoDarkClick(Sender: TObject);
  193. begin
  194.   ThePointer.Dark3D:=CBPoDark.Checked;
  195. end;
  196.  
  197. procedure TSeriesPointerEditor.CBDefBrushColorClick(Sender: TObject);
  198. begin
  199.   if CBDefBrushColor.Checked then ThePointer.Brush.Color:=clTeeColor;
  200. end;
  201.  
  202. initialization
  203.   RegisterClass(TSeriesPointerEditor);
  204. end.
  205.